//! # 检查点模块
//! 
//! 提供流处理的检查点和状态恢复功能

use async_trait::async_trait;
use crate::core::StreamOffset;
use crate::error::StreamResult;

/// 检查点管理器
#[async_trait]
pub trait CheckpointManager: Send + Sync {
    async fn save_checkpoint(&self, offset: StreamOffset) -> StreamResult<()>;
    async fn load_checkpoint(&self) -> StreamResult<Option<StreamOffset>>;
    async fn clear_checkpoint(&self) -> StreamResult<()>;
}